package com.wondertek.poms.common.exception;

import java.util.HashMap;

/**
 * <p><b>MessageCodes Description:</b> 6位数字标记消息，前两位表示系统，中间两位表示模块，后两位消息编码
 * 统一编码 980001 开始
 * 内容管理     00、例如980100
 * 节目管理     01
 * 策略管理     02
 * 批价管理     03
 * 基础数据     04
 * 历史记录     05
 * 系统管理     06
 * 主流程         99
 *
 * @author w2c
 * <b>DATE</b> 2015年9月4日 上午10:30:03
 */
@SuppressWarnings("unused")
public class MessageCodes {

	/**
	 * 请求失败
	 */
	public final static int M980000 = 980000;
	/**
	 * 请求成功
	 */
	public final static int M980001 = 980001;
	/**
	 * 添加成功
	 */
	public final static int M980002 = 980002;
	/**
	 * 修改成功
	 */
	public final static int M980003 = 980003;
	/**
	 * 上传成功
	 */
	public final static int M980004 = 980004;
	/**
	 * 删除成功
	 */
	public final static int M980005 = 980005;
	/**
	 * 登录成功
	 */
	public final static int M980006 = 980006;
	/**
	 * 注册成功
	 */
	public final static int M980007 = 980007;
	/**
	 * 邮件发送成功
	 */
	public final static int M980008 = 980008;
	/**
	 * 用户未登录
	 */
	public final static int M980009 = 980009;
	/**
	 * 没有权限
	 */
	public final static int M980010 = 980010;
	/**
	 * 查找的对象不存在
	 */
	public final static int M980011 = 980011;
	/**
	 * 用户登录名或密码错误
	 */
	public final static int M980012 = 980012;
	/**
	 * 原密码错误
	 */
	public final static int M980013 = 980013;
	/**
	 * isRepeat方法验证数据重复
	 */
	public final static int M980014 = 980014;
	/**
	 * id不能为null
	 */
	public final static int M980015 = 980015;
	/**
	 * 系统其他异常，用于捕捉全局异常
	 */
	public final static int M980016 = 980016;
	/**
	 * 请求参数无效
	 */
	public final static int M980017 = 980017;
	/**
	 * 数据库无此数据,请核对数据!
	 */
	public final static int M980018 = 980018;
	/**
	 * 此ID无对应数据
	 */
	public final static int M980020 = 980020;
	/**
	 * type不能为空
	 */
	public final static int M980717 = 980717;
	/**
	 * ID不能为空
	 */
	public final static int M980021 = 980021;
	/**
	 * 策略为启用无法删除
	 */
	public final static int M980022 = 980022;
	/**
	 * 数据库已有此策略，策略名称不能重复!
	 */
	public final static int M980200 = 980200;
	/**
	 * 失败,渠道id集合存在重复数据!
	 */
	public final static int M980201 = 980201;
	/**
	 * 失败,计费策略下渠道id不能重复!
	 */
	public final static int M980202 = 980202;
	/**
	 * 失败,传参为空!
	 */
	public final static int M980203 = 980203;
	/**
	 * 同一个节目计费条数不超过5条
	 */
	public final static int M980204 = 980204;
	/**
	 * 导入数据为空，请填写数据再导入!
	 */
	public final static int M980205 = 980205;
	/**
	 * 导入数据错误，渠道ID和计费ID只能同时为空或同时都有值!
	 */
	public final static int M980206 = 980206;
	/**
	 * 计费ID在mOMS系统不存在!
	 */
	public final static int M980207 = 980207;
	/**
	 * 渠道ID在mOMS系统不存在!
	 */
	public final static int M980208 = 980208;
	/**
	 * 失败,策略明细所属的策略不存在!
	 */
	public final static int M980209 = 980209;
	/**
	 * 传参list集合中有重复数据，channelId不能重复!
	 */
	public final static int M980210 = 980210;
	/**
	 * 删除策略失败,策略有内容正在使用，不能删除!
	 */
	public final static int M980211 = 980211;
	/**
	 * 字典状态只能为0,1,2
	 */
	public final static int M980212 = 980212;
	/**
	 * 字典状态不能为空
	 */
	public final static int M980213 = 980213;
	/**
	 * 策略ID不能重复!
	 */
	public final static int M980214 = 980214;
	/**
	 * 策略明细的计费不能多于五个!
	 */
	public final static int M980215 = 980215;
	/**
	 * 策略已经存在，不允许导入策略或策略明细!
	 */
	public final static int M980216 = 980216;
	/**
	 * 同步新增或设置时,策略名称不能为空!
	 */
	public final static int M980217 = 980217;
	/**
	 * 失败,计费ID不能重复!
	 */
	public final static int M980218 = 980218;


	/**
	 * 节目不存在
	 */
	public final static int M980300 = 980300;
	/**
	 * 节目不存在
	 */
	public final static int M980301 = 980301;
	/**
	 * 内容不存在
	 */
	public final static int M980302 = 980302;
	/**
	 * 节目ID和内容ID同时只能有一个有值,且不能同时为空!
	 */
	public final static int M980303 = 980303;
	/**
	 * 商品包不存在
	 */
	public final static int M980304 = 980304;
	/**
	 * 商品包不是已发布状态
	 */
	public final static int M980305 = 980305;
	/**
	 * 新商品包id或者计划时间为空
	 */
	public final static int M980306 = 980306;
	/**
	 * 计划时间格式错误
	 */
	public final static int M980307 = 980307;
	/**
	 * 中断移包，不支持跨产品/独立商品包移包
	 */
	public final static int M980308 = 980308;
	/**
	 * 中断移包，黑名单中存在相关记录
	 */
	public final static int M980309 = 980309;
	/**
	 * 中断移包，白名单中存在相关记录
	 */
	public final static int M980310 = 980310;
	/**
	 * 节目已删除不能移包
	 */
	public final static int M980311 = 980311;
	/**
	 * 子集内容不能单独操作
	 */
	public final static int M980312 = 980312;

	/**
	 * 渠道ids不能为空
	 */
	public final static int M980400 = 980400;


	/**
	 * cp名称不能重复
	 */
	public final static int M980500 = 980500;

	/**
	 * 导入的cp编号或cp名称重复
	 */
	public final static int M980501 = 980501;

	/**
	 * cpid不可编辑
	 */
	public final static int M980502 = 980502;

	/**
	 * 渠道名称和channleId不能重复
	 */
	public final static int M980600 = 980600;

	/**
	 * 非删除状态的节目中已经配置该渠道，不能删除
	 */
	public final static int M980601 = 980601;

	/**
	 * 内容id不能为空
	 */
	public final static int M980700 = 980700;

	/**
	 * 系统开关关闭，需要同步请联系管理员。
	 */
	public final static int M980701 = 980701;

	/**
	 * 系统开关关闭，需要发布请联系管理员。
	 */
	public final static int M980702 = 980702;

	/**
	 * 字典类型和名称不能重复
	 */

	public final static int M980703 = 980703;

	/**
	 * 策略id和策略名称不能含有特殊字符
	 */

	public final static int M980800 = 980800;

	public final static int M980801 = 980801;

	/**
	 * 同一渠道中不能存在多个按次计费
	 */
	public final static int M980900 = 980900;

	/**
	 * 此用户已经存在于白名单中
	 */
	public final static int M980901 = 980901;

	public final static int M980902 = 980902;
	/**
	 * 节目中不允许存在多个按次计费
	 */
	public final static int M980903 = 980903;


	/**
	 * 失效时间不能小于生效时间或当前时间！
	 */
	public final static int M980904 = 980904;

	/**
	 * Metadata_M.xml not exists
	 */
	public final static int M980905 = 980905;
	/**
	 * 上游系统没有原图
	 */
	public final static int M980906 = 980906;
	/**
	 * 媒资更新任务没有图片变更
	 */
	public final static int M980907 = 980907;
	/**
	 * 媒资更新任务没有图片变更
	 */
	public final static int M980908 = 980908;
	/**
	 * 媒资更新任务没有图片变更
	 */
	public final static int M980909 = 980909;
	/**
	 * kafka读取路径错误
	 */
	public final static int M333333 = 333333;

	/**
	 * 同步流程容错
	 */
	public final static int M989901 = 989901;

	public final static int M989902 = 989902;
	public final static int M989903 = 989903;

	/**↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓计费￥计费￥计费↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
	 * 查找的对象不存在
	 */
	public final static int M990011 = 990011;

	/**
	 * 失败，产品展现计费配置对应的计费点表不存在
	 */
	public final static int M970801 = 970801;

	/**
	 * 失败，产品展现计费配置对应的计费类型不存在
	 */
	public final static int M970802 = 970802;
	/**
	 * 媒资关系表不存在该数据
	 */
	public final static int M970803 = 970803;

	/**
	 * 失败，产品展现-基本计费配置-售价名称计费对应的售价名称字段为null
	 */
	public final static int M970804 = 970804;

	/**
	 * 节目字段非空校验，节目的发布状态为null
	 */
	public final static int M970805 = 970805;

	/**
	 * 基本计费list页面中的权益节点计费类型对应的权益节点表中的产品组id或者权益节点编码为空
	 */
	public final static int M970806 = 970806;
	
	/**
	 * 媒资xml转换内容对象错误
	 */
	public final static int M970807 = 970807;

	private static HashMap<Integer, String> messageMap;

	static {
		messageMap = new HashMap<>();
		/**
		 * 9800
		 */
		messageMap.put(980000, "请求失败");
		messageMap.put(980001, "请求成功");
		messageMap.put(980002, "添加成功");
		messageMap.put(980003, "修改成功");
		messageMap.put(980004, "上传成功");
		messageMap.put(980005, "删除成功");
		messageMap.put(980006, "登录成功");
		messageMap.put(980007, "注册成功");
		messageMap.put(980008, "邮件发送成功");
		messageMap.put(980009, "用户未登录");
		messageMap.put(980010, "没有权限");
		messageMap.put(980011, "查找的对象不存在");
		messageMap.put(980012, "用户登录名或密码错误");
		messageMap.put(980013, "原密码错误");
		messageMap.put(980014, "数据重复");
		messageMap.put(980015, "id不能为空");
		messageMap.put(980016, "系统其他异常");
		messageMap.put(980017, "请求参数无效");
		messageMap.put(980018, "数据库无此数据,请核对数据");
		messageMap.put(980020, "此ID无对应数据");
		messageMap.put(980021, "失败，ID不能为空");
		messageMap.put(980022, "失败，状态为启用的策略无法删除");

		messageMap.put(980502, "cpid不可编辑");

		messageMap.put(980905, "Metadata_M.xml not exists");
		messageMap.put(980906, "上游系统没有原图");
		messageMap.put(980907, "媒资更新任务没有图片变更");
		messageMap.put(980908, "操作类型（3）删除，不做处理");
		messageMap.put(980908, "操作类型（3）删除，不做处理");
		messageMap.put(980909, "图片转图错误");
		messageMap.put(333333, "kafka读取路径错误");
		messageMap.put(980205, "导入数据为空，请填写数据再导入");
		messageMap.put(980203, "传值为空");
		messageMap.put(980300, "节目不存在");
		messageMap.put(980302, "内容不存在");
		messageMap.put(980303, "节目ID和内容ID同时只能有一个有值,且不能同时为空");
		messageMap.put(980304, "商品包不存在");
		messageMap.put(980305, "商品包不是已发布状态");
		messageMap.put(980306, "新商品包id或者计划时间为空");
		messageMap.put(980307, "计划时间格式错误");
		messageMap.put(980308, "中断移包，不支持跨产品/独立商品包移包");
		messageMap.put(980309, "中断移包，黑名单中存在相关记录");
		messageMap.put(980310, "中断移包，中断移包，白名单中存在相关记录");
		messageMap.put(980311, "节目已删除不能移包");
		messageMap.put(980312, "子集内容不能单独操作");

		messageMap.put(989901, "同步流程容错");
		messageMap.put(989902, "商品包id或规则类型为空");
		messageMap.put(989903, "多个值必须已英文逗号分隔");
		messageMap.put(990011, "查找的对象不存在");
		messageMap.put(970801, "失败，产品展现计费配置对应的计费点表不存在");
		messageMap.put(970802, "失败，产品展现计费配置对应的计费类型不存在");
		messageMap.put(970803, "媒资关系表不存在该数据");
		messageMap.put(970804, "失败，产品展现-基本计费配置-售价名称计费对应的售价名称字段为null");
		messageMap.put(970805, "节目字段非空校验，节目的发布状态为null");
		messageMap.put(970806, "【脏数据】基本计费list页面中的权益节点计费类型对应的权益节点表中的产品组id或者权益节点编码为空");
		messageMap.put(970807, "媒资xml转换内容对象错误");
	}

	public static String get(int index) {
		return messageMap.get(index);
	}

}
